package com.example.web.mapper;

import com.example.web.entity.SequenceConfig;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface SequenceConfigMapper {
    
    /**
     * 插入序列号配置
     */
    int insert(SequenceConfig config);
    
    /**
     * 更新序列号配置
     */
    int update(SequenceConfig config);
    
    /**
     * 根据ID查询配置
     */
    SequenceConfig findById(@Param("id") String id);
    
    /**
     * 根据编码查询配置
     */
    SequenceConfig findByCode(@Param("code") String code);
    
    /**
     * 分页查询配置列表
     */
    List<SequenceConfig> findConfigs(@Param("name") String name,
                                      @Param("code") String code,
                                      @Param("offset") Integer offset,
                                      @Param("limit") Integer limit);
    
    /**
     * 统计配置数量
     */
    Long countConfigs(@Param("name") String name,
                      @Param("code") String code);
    
    /**
     * 逻辑删除配置
     */
    int deleteById(@Param("id") String id);
}
